home *** CD-ROM | disk | FTP | other *** search
- VERSION 2.00
- Begin Form Knight
- BackColor = &H00FFFFFF&
- BorderStyle = 1 'Fixed Single
- Caption = "Knight's Tour"
- ClientHeight = 4950
- ClientLeft = 1395
- ClientTop = 1785
- ClientWidth = 5910
- Height = 5640
- Icon = KNIGHT.FRX:0000
- Left = 1335
- LinkTopic = "Form1"
- MaxButton = 0 'False
- ScaleHeight = 4950
- ScaleWidth = 5910
- Top = 1155
- Width = 6030
- Begin Timer StatsTimer
- Enabled = 0 'False
- Interval = 1000
- Left = 7920
- Top = 120
- End
- Begin PictureBox Board
- BackColor = &H00C0C0C0&
- Height = 495
- Index = 0
- Left = 7200
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 70
- Tag = "2"
- Top = 120
- Visible = 0 'False
- Width = 495
- End
- Begin CheckBox StopBox
- BackColor = &H00008080&
- Caption = "Any Solution"
- Height = 255
- Left = 4320
- TabIndex = 68
- TabStop = 0 'False
- Tag = "0"
- Top = 3480
- Width = 1455
- End
- Begin PictureBox Board
- BackColor = &H00C0C0C0&
- Height = 495
- Index = 64
- Left = 3600
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 65
- Tag = "2"
- Top = 4080
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00808080&
- Height = 495
- Index = 63
- Left = 3120
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 64
- Tag = "3"
- Top = 4080
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00C0C0C0&
- Height = 495
- Index = 62
- Left = 2640
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 63
- Tag = "4"
- Top = 4080
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00808080&
- Height = 495
- Index = 61
- Left = 2160
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 62
- Tag = "4"
- Top = 4080
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00C0C0C0&
- Height = 495
- Index = 60
- Left = 1680
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 61
- Tag = "4"
- Top = 4080
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00808080&
- Height = 495
- Index = 59
- Left = 1200
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 60
- Tag = "4"
- Top = 4080
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00C0C0C0&
- Height = 495
- Index = 58
- Left = 720
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 59
- Tag = "3"
- Top = 4080
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00808080&
- Height = 495
- Index = 57
- Left = 240
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 58
- Tag = "2"
- Top = 4080
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00808080&
- Height = 495
- Index = 56
- Left = 3600
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 57
- Tag = "3"
- Top = 3600
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00C0C0C0&
- Height = 495
- Index = 55
- Left = 3120
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 56
- Tag = "4"
- Top = 3600
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00808080&
- Height = 495
- Index = 54
- Left = 2640
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 55
- Tag = "6"
- Top = 3600
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00C0C0C0&
- Height = 495
- Index = 53
- Left = 2160
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 54
- Tag = "6"
- Top = 3600
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00808080&
- Height = 495
- Index = 52
- Left = 1680
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 53
- Tag = "6"
- Top = 3600
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00C0C0C0&
- Height = 495
- Index = 51
- Left = 1200
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 52
- Tag = "6"
- Top = 3600
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00808080&
- Height = 495
- Index = 50
- Left = 720
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 51
- Tag = "4"
- Top = 3600
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00C0C0C0&
- Height = 495
- Index = 49
- Left = 240
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 50
- Tag = "3"
- Top = 3600
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00C0C0C0&
- Height = 495
- Index = 48
- Left = 3600
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 49
- Tag = "4"
- Top = 3120
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00808080&
- Height = 495
- Index = 47
- Left = 3120
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 48
- Tag = "6"
- Top = 3120
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00C0C0C0&
- Height = 495
- Index = 46
- Left = 2640
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 47
- Tag = "8"
- Top = 3120
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00808080&
- Height = 495
- Index = 45
- Left = 2160
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 46
- Tag = "8"
- Top = 3120
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00C0C0C0&
- Height = 495
- Index = 44
- Left = 1680
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 45
- Tag = "8"
- Top = 3120
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00808080&
- Height = 495
- Index = 43
- Left = 1200
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 44
- Tag = "8"
- Top = 3120
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00C0C0C0&
- Height = 495
- Index = 42
- Left = 720
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 43
- Tag = "6"
- Top = 3120
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00808080&
- Height = 495
- Index = 41
- Left = 240
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 42
- Tag = "4"
- Top = 3120
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00808080&
- Height = 495
- Index = 40
- Left = 3600
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 41
- Tag = "4"
- Top = 2640
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00C0C0C0&
- Height = 495
- Index = 39
- Left = 3120
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 40
- Tag = "6"
- Top = 2640
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00808080&
- Height = 495
- Index = 38
- Left = 2640
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 39
- Tag = "8"
- Top = 2640
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00C0C0C0&
- Height = 495
- Index = 37
- Left = 2160
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 38
- Tag = "8"
- Top = 2640
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00808080&
- Height = 495
- Index = 36
- Left = 1680
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 37
- Tag = "8"
- Top = 2640
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00C0C0C0&
- Height = 495
- Index = 35
- Left = 1200
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 36
- Tag = "8"
- Top = 2640
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00808080&
- Height = 495
- Index = 34
- Left = 720
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 35
- Tag = "6"
- Top = 2640
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00C0C0C0&
- Height = 495
- Index = 33
- Left = 240
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 34
- Tag = "4"
- Top = 2640
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00C0C0C0&
- Height = 495
- Index = 32
- Left = 3600
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 33
- Tag = "4"
- Top = 2160
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00808080&
- Height = 495
- Index = 31
- Left = 3120
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 32
- Tag = "6"
- Top = 2160
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00C0C0C0&
- Height = 495
- Index = 30
- Left = 2640
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 31
- Tag = "8"
- Top = 2160
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00808080&
- Height = 495
- Index = 29
- Left = 2160
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 30
- Tag = "8"
- Top = 2160
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00C0C0C0&
- Height = 495
- Index = 28
- Left = 1680
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 29
- Tag = "8"
- Top = 2160
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00808080&
- Height = 495
- Index = 27
- Left = 1200
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 28
- Tag = "8"
- Top = 2160
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00C0C0C0&
- Height = 495
- Index = 26
- Left = 720
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 27
- Tag = "6"
- Top = 2160
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00808080&
- Height = 495
- Index = 25
- Left = 240
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 26
- Tag = "4"
- Top = 2160
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00808080&
- Height = 495
- Index = 24
- Left = 3600
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 25
- Tag = "4"
- Top = 1680
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00C0C0C0&
- Height = 495
- Index = 23
- Left = 3120
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 24
- Tag = "6"
- Top = 1680
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00808080&
- Height = 495
- Index = 22
- Left = 2640
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 23
- Tag = "8"
- Top = 1680
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00C0C0C0&
- Height = 495
- Index = 21
- Left = 2160
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 22
- Tag = "8"
- Top = 1680
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00808080&
- Height = 495
- Index = 20
- Left = 1680
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 21
- Tag = "8"
- Top = 1680
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00C0C0C0&
- Height = 495
- Index = 19
- Left = 1200
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 20
- Tag = "8"
- Top = 1680
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00808080&
- Height = 495
- Index = 18
- Left = 720
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 19
- Tag = "6"
- Top = 1680
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00C0C0C0&
- Height = 495
- Index = 17
- Left = 240
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 18
- Tag = "4"
- Top = 1680
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00C0C0C0&
- Height = 495
- Index = 16
- Left = 3600
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 17
- Tag = "3"
- Top = 1200
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00808080&
- Height = 495
- Index = 15
- Left = 3120
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 16
- Tag = "4"
- Top = 1200
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00C0C0C0&
- Height = 495
- Index = 14
- Left = 2640
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 15
- Tag = "6"
- Top = 1200
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00808080&
- Height = 495
- Index = 13
- Left = 2160
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 14
- Tag = "6"
- Top = 1200
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00C0C0C0&
- Height = 495
- Index = 12
- Left = 1680
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 13
- Tag = "6"
- Top = 1200
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00808080&
- Height = 495
- Index = 11
- Left = 1200
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 12
- Tag = "6"
- Top = 1200
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00C0C0C0&
- Height = 495
- Index = 10
- Left = 720
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 11
- Tag = "4"
- Top = 1200
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00808080&
- Height = 495
- Index = 9
- Left = 240
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 10
- Tag = "3"
- Top = 1200
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00808080&
- Height = 495
- Index = 8
- Left = 3600
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 9
- Tag = "2"
- Top = 720
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00C0C0C0&
- Height = 495
- Index = 7
- Left = 3120
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 8
- Tag = "3"
- Top = 720
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00808080&
- Height = 495
- Index = 6
- Left = 2640
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 7
- Tag = "4"
- Top = 720
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00C0C0C0&
- Height = 495
- Index = 5
- Left = 2160
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 6
- Tag = "4"
- Top = 720
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00808080&
- Height = 495
- Index = 4
- Left = 1680
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 5
- Tag = "4"
- Top = 720
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00C0C0C0&
- Height = 495
- Index = 3
- Left = 1200
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 4
- Tag = "4"
- Top = 720
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00808080&
- Height = 495
- Index = 2
- Left = 720
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 3
- Tag = "3"
- Top = 720
- Width = 495
- End
- Begin PictureBox Board
- BackColor = &H00C0C0C0&
- Height = 495
- Index = 1
- Left = 240
- ScaleHeight = 465
- ScaleWidth = 465
- TabIndex = 2
- Tag = "2"
- Top = 720
- Width = 495
- End
- Begin CommandButton Button
- Enabled = 0 'False
- Height = 495
- Left = 4440
- TabIndex = 1
- Top = 3960
- Width = 1215
- End
- Begin Label Label4
- BackColor = &H00008080&
- Caption = "(v1.2)"
- Height = 255
- Left = 4800
- TabIndex = 69
- Top = 240
- Width = 615
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 64
- Left = 9840
- Picture = KNIGHT.FRX:0302
- Top = 4080
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 63
- Left = 9360
- Picture = KNIGHT.FRX:0604
- Top = 4080
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 62
- Left = 8880
- Picture = KNIGHT.FRX:0906
- Top = 4080
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 61
- Left = 8400
- Picture = KNIGHT.FRX:0C08
- Top = 4080
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 60
- Left = 7920
- Picture = KNIGHT.FRX:0F0A
- Top = 4080
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 59
- Left = 7440
- Picture = KNIGHT.FRX:120C
- Top = 4080
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 58
- Left = 6960
- Picture = KNIGHT.FRX:150E
- Top = 4080
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 57
- Left = 6480
- Picture = KNIGHT.FRX:1810
- Top = 4080
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 56
- Left = 9840
- Picture = KNIGHT.FRX:1B12
- Top = 3600
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 55
- Left = 9360
- Picture = KNIGHT.FRX:1E14
- Top = 3600
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 54
- Left = 8880
- Picture = KNIGHT.FRX:2116
- Top = 3600
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 53
- Left = 8400
- Picture = KNIGHT.FRX:2418
- Top = 3600
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 52
- Left = 7920
- Picture = KNIGHT.FRX:271A
- Top = 3600
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 51
- Left = 7440
- Picture = KNIGHT.FRX:2A1C
- Top = 3600
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 50
- Left = 6960
- Picture = KNIGHT.FRX:2D1E
- Top = 3600
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 49
- Left = 6480
- Picture = KNIGHT.FRX:3020
- Top = 3600
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 48
- Left = 9840
- Picture = KNIGHT.FRX:3322
- Top = 3120
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 47
- Left = 9360
- Picture = KNIGHT.FRX:3624
- Top = 3120
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 46
- Left = 8880
- Picture = KNIGHT.FRX:3926
- Top = 3120
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 45
- Left = 8400
- Picture = KNIGHT.FRX:3C28
- Top = 3120
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 44
- Left = 7920
- Picture = KNIGHT.FRX:3F2A
- Top = 3120
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 43
- Left = 7440
- Picture = KNIGHT.FRX:422C
- Top = 3120
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 42
- Left = 6960
- Picture = KNIGHT.FRX:452E
- Top = 3120
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 41
- Left = 6480
- Picture = KNIGHT.FRX:4830
- Top = 3120
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 40
- Left = 9840
- Picture = KNIGHT.FRX:4B32
- Top = 2640
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 39
- Left = 9360
- Picture = KNIGHT.FRX:4E34
- Top = 2640
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 38
- Left = 8880
- Picture = KNIGHT.FRX:5136
- Top = 2640
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 37
- Left = 8400
- Picture = KNIGHT.FRX:5438
- Top = 2640
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 36
- Left = 7920
- Picture = KNIGHT.FRX:573A
- Top = 2640
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 35
- Left = 7440
- Picture = KNIGHT.FRX:5A3C
- Top = 2640
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 34
- Left = 6960
- Picture = KNIGHT.FRX:5D3E
- Top = 2640
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 33
- Left = 6480
- Picture = KNIGHT.FRX:6040
- Top = 2640
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 32
- Left = 9840
- Picture = KNIGHT.FRX:6342
- Top = 2160
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 31
- Left = 9360
- Picture = KNIGHT.FRX:6644
- Top = 2160
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 30
- Left = 8880
- Picture = KNIGHT.FRX:6946
- Top = 2160
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 29
- Left = 8400
- Picture = KNIGHT.FRX:6C48
- Top = 2160
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 28
- Left = 7920
- Picture = KNIGHT.FRX:6F4A
- Top = 2160
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 27
- Left = 7440
- Picture = KNIGHT.FRX:724C
- Top = 2160
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 26
- Left = 6960
- Picture = KNIGHT.FRX:754E
- Top = 2160
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 25
- Left = 6480
- Picture = KNIGHT.FRX:7850
- Top = 2160
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 24
- Left = 9840
- Picture = KNIGHT.FRX:7B52
- Top = 1680
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 23
- Left = 9360
- Picture = KNIGHT.FRX:7E54
- Top = 1680
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 22
- Left = 8880
- Picture = KNIGHT.FRX:8156
- Top = 1680
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 21
- Left = 8400
- Picture = KNIGHT.FRX:8458
- Top = 1680
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 20
- Left = 7920
- Picture = KNIGHT.FRX:875A
- Top = 1680
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 19
- Left = 7440
- Picture = KNIGHT.FRX:8A5C
- Top = 1680
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 18
- Left = 6960
- Picture = KNIGHT.FRX:8D5E
- Top = 1680
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 17
- Left = 6480
- Picture = KNIGHT.FRX:9060
- Top = 1680
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 16
- Left = 9840
- Picture = KNIGHT.FRX:9362
- Top = 1200
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 15
- Left = 9360
- Picture = KNIGHT.FRX:9664
- Top = 1200
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 14
- Left = 8880
- Picture = KNIGHT.FRX:9966
- Top = 1200
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 13
- Left = 8400
- Picture = KNIGHT.FRX:9C68
- Top = 1200
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 12
- Left = 7920
- Picture = KNIGHT.FRX:9F6A
- Top = 1200
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 11
- Left = 7440
- Picture = KNIGHT.FRX:A26C
- Top = 1200
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 10
- Left = 6960
- Picture = KNIGHT.FRX:A56E
- Top = 1200
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 9
- Left = 6480
- Picture = KNIGHT.FRX:A870
- Top = 1200
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 8
- Left = 9840
- Picture = KNIGHT.FRX:AB72
- Top = 720
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 7
- Left = 9360
- Picture = KNIGHT.FRX:AE74
- Top = 720
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 6
- Left = 8880
- Picture = KNIGHT.FRX:B176
- Top = 720
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 5
- Left = 8400
- Picture = KNIGHT.FRX:B478
- Top = 720
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 4
- Left = 7920
- Picture = KNIGHT.FRX:B77A
- Top = 720
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 3
- Left = 7440
- Picture = KNIGHT.FRX:BA7C
- Top = 720
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 2
- Left = 6960
- Picture = KNIGHT.FRX:BD7E
- Top = 720
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 1
- Left = 6480
- Picture = KNIGHT.FRX:C080
- Top = 720
- Visible = 0 'False
- Width = 480
- End
- Begin Image ImgKnight
- Enabled = 0 'False
- Height = 480
- Index = 0
- Left = 6480
- Picture = KNIGHT.FRX:C382
- Top = 120
- Visible = 0 'False
- Width = 480
- End
- Begin Label Label2
- BackColor = &H00008080&
- Caption = "By: Michael Sheldrake"
- Height = 255
- Left = 240
- TabIndex = 67
- Top = 4680
- Width = 2175
- End
- Begin Label Label3
- BackColor = &H00008080&
- Caption = "Click on Any Square to Begin the Knight's Tour"
- Enabled = 0 'False
- ForeColor = &H00000000&
- Height = 2535
- Left = 4440
- TabIndex = 66
- Top = 840
- Width = 1335
- End
- Begin Label Label1
- Alignment = 2 'Center
- BackColor = &H00008080&
- BorderStyle = 1 'Fixed Single
- Caption = "Knight's Tour "
- Enabled = 0 'False
- FontBold = -1 'True
- FontItalic = 0 'False
- FontName = "MS Sans Serif"
- FontSize = 24
- FontStrikethru = 0 'False
- FontUnderline = 0 'False
- ForeColor = &H00000000&
- Height = 5055
- Left = 0
- TabIndex = 0
- Top = 0
- Width = 6135
- End
- Begin Menu mnuFile
- Caption = "&File"
- Begin Menu mnuFLoad
- Caption = "&Load Board"
- End
- Begin Menu mnuFSave
- Caption = "&Save Board"
- End
- Begin Menu mnuFSep
- Caption = "-"
- End
- Begin Menu mnuFExit
- Caption = "E&xit"
- End
- End
- DefInt A-Z
- Dim Mv, MvX, LoMv, Walks#, Prunes#, Finds#, Matrix(10, 64)
- Dim Drc(2, 8), Quad(8), State, DeltaTime!, StartTime!
- Sub Board_Click (Index As Integer)
- If Index <> 0 Then ' ***** Clear Matrix & Board *****
- If State = 1 Then ' Another iteration active??
- State = 2 ' Yes, tell him to quit
- Do ' Wait for Other iteration to Quit
- DoEvents
- Loop Until State = 0
- End If
- For i = 1 To 64
- Board(i).Picture = LoadPicture("")
- Matrix(1, i) = 0
- Matrix(2, i) = 0
- For j = 3 To 10
- Matrix(j, i) = Abs(Matrix(j, i))
- Next j
- Next i
- Mv = 1
- LoMv = 64
- MvX = Index
- Matrix(1, MvX) = Mv
- Walks# = 1
- Prunes# = 0
- Finds# = 0
- DeltaTime! = 0
- State = 1
- End If
- If State = 1 Then ' ***** Find Solution *****
- For i = 1 To 64
- Board(i).Enabled = False
- Next i
- Button.Caption = "Stop"
- Button.Enabled = True
- StatsTimer.Enabled = True
- StartTime! = Timer
- Call StatsTimer_Timer
-
- Do Until Mv >= 64 Or State <> 1 ' Solution is Found <or> Button is Clicked
- Found = 0
- fx = 3
- Do While fx <= 10 And Found = 0 ' More Links??
- fl = Matrix(fx, MvX) ' Get Forward Link
- If fl > 0 Then ' Is Link Seen/Used??
- Matrix(fx, MvX) = -1 * fl ' Mark Link as Seen
- If Matrix(1, fl) = 0 Then ' Is Forward Link Free??
- Found = 1 ' Found a Move
- ffx = 3
- Do While ffx <= 10 And Found = 1 ' Look for Dead Branches to Prune
- ffl = Matrix(ffx, fl)
- If ffl > 0 Then
- If Matrix(1, ffl) = 0 Then
- free = 0
- fffx = 3
- Do While fffx <= 10 And free < 2
- fffl = Matrix(fffx, ffl)
- If fffl > 0 Then
- If Matrix(1, fffl) = 0 Then
- free = free + 1
- End If
- End If
- fffx = fffx + 1
- Loop
- If free < 2 And Mv < 62 Then ' Need to Prune this branch??
- Found = 0
- Prunes# = Prunes# + 1
- End If
- End If
- End If
- ffx = ffx + 1
- Loop
- End If
- End If
-
- If LoMv > Mv Then
- LoMv = Mv
- End If
- If Found = 1 Then ' Walk Forward??
- Board(MvX).Picture = ImgKnight(Mv).Picture
- Mv = Mv + 1 ' Bump mv(Branch Level)
- Matrix(1, fl) = Mv ' Set mv Number
- Matrix(2, fl) = MvX ' Set BackLink
- MvX = fl ' Forward Link is New mv
- If Mv >= 64 Then
- Finds# = Finds# + 1
- End If
- End If
- fx = fx + 1 ' Bump Link
- Loop
- Walks# = Walks# + 1
- If Mv >= 64 Then
- Solution = 64
- For i = 3 To 10
- If Matrix(1, Matrix(i, MvX)) = 1 Then
- Solution = 0
- End If
- Next i
- If StopBox.Value = 0 Or (StopBox.Value = 1 And Solution = 0) Then
- StatsTimer.Enabled = False
- Call StatsTimer_Timer
- Board(MvX).Picture = ImgKnight(Solution).Picture
- For i = 1 To 64
- Board(i).Enabled = True
- Next i
- LoMv = 64: State = 0
- Button.Caption = "Find Next"
- End If
- Found = 0
- End If
-
- Do
- DoEvents ' Let Others use CPU!!!
- Loop Until State <> 0 ' Wait for Find Next button click
- If StatsTimer.Enabled = False Then
- StatsTimer.Enabled = True
- StartTime! = Timer
- End If
-
- If Found = 0 Then ' Walk back??
- Board(MvX).Picture = LoadPicture("")
- Matrix(1, MvX) = 0 ' Clear mv Number
- For i = 3 To 10
- Matrix(i, MvX) = Abs(Matrix(i, MvX)) ' Reset Link Flags
- Next i
- MvX = Matrix(2, MvX) ' Backup a Branch
- Mv = Mv - 1
- End If
-
- Loop ' find next move
- End If
- StatsTimer.Enabled = False
- Call StatsTimer_Timer
- For i = 1 To 64
- Board(i).Enabled = True
- Next i
- Button.Caption = "Resume"
- State = 0
- End Sub
- Sub Button_Click ()
- If Button.Caption = "Stop" Then
- State = 2
- ElseIf Button.Caption = "Resume" Then
- State = 1
- Call Board_Click(0)
- ElseIf Button.Caption = "Find Next" Then
- Button.Caption = "Stop"
- For i = 1 To 64
- Board(i).Enabled = False
- Next i
- State = 1
- End If
- End Sub
- Sub Form_Load ()
- Screen.MousePointer = 11
- Knight.Top = (Screen.Height - Knight.Height) / 2
- Knight.Left = (Screen.Width - Knight.Width) / 2
- Knight.Show
- '************************* Build Matrix ********************************
- ' Directions Lower Numbers First ' Directions & Quadrants (purely arbitrary)
- ' Delta Row Delta Col ' q1 | 1 | | 2 | q2
- Drc(1, 1) = -2: Drc(2, 1) = -1 ' -------------------
- Drc(1, 2) = -2: Drc(2, 2) = 1 ' 8 | | | | 3
- Drc(1, 3) = -1: Drc(2, 3) = 2 ' -------------------
- Drc(1, 4) = 1: Drc(2, 4) = 2 ' | | K | |
- Drc(1, 5) = 2: Drc(2, 5) = 1 ' -------------------
- Drc(1, 6) = 2: Drc(2, 6) = -1 ' 7 | | | | 4
- Drc(1, 7) = 1: Drc(2, 7) = -2 ' -------------------
- Drc(1, 8) = -1: Drc(2, 8) = -2 ' q4 | 6 | | 5 | q3
- For sq = 1 To 64
- MvX = 3
- r = Fix((sq - 1) / 8) + 1
- c = ((sq - 1) Mod 8) + 1
- ' Corner Weighting based on Quadrant
- If r <= 4 And c <= 4 Then
- Quad(1) = 1: Quad(2) = 8: Quad(3) = 2: Quad(4) = 7: Quad(5) = 6: Quad(6) = 3: Quad(7) = 5: Quad(8) = 4
- ElseIf r <= 4 And c > 4 Then
- Quad(1) = 3: Quad(2) = 2: Quad(3) = 4: Quad(4) = 1: Quad(5) = 8: Quad(6) = 5: Quad(7) = 7: Quad(8) = 6
- ElseIf r > 4 And c > 4 Then
- Quad(1) = 5: Quad(2) = 4: Quad(3) = 6: Quad(4) = 3: Quad(5) = 2: Quad(6) = 7: Quad(7) = 1: Quad(8) = 8
- Else
- Quad(1) = 7: Quad(2) = 6: Quad(3) = 8: Quad(4) = 5: Quad(5) = 4: Quad(6) = 1: Quad(7) = 3: Quad(8) = 2
- End If
- ' Build Matrix of valid Knight mvs using Corner Weighting.
- For d = 1 To 8 ' Max possible eight mv from any starting location.
- New_R = r + Drc(1, Quad(d))
- New_C = c + Drc(2, Quad(d))
- If New_R > 0 And New_R < 9 Then
- If New_C > 0 And New_C < 9 Then
- Matrix(MvX, sq) = (New_R - 1) * 8 + New_C
- MvX = MvX + 1
- End If
- End If
- Next d
- Do ' Weight the squares with the least links first
- a = 3
- b = 4
- Found = 0
- Do While b <= 10
- If Matrix(b, sq) > 0 Then
- If Board(Matrix(a, sq)).Tag > Board(Matrix(b, sq)).Tag Then
- Found = 1
- c = Matrix(a, sq)
- Matrix(a, sq) = Matrix(b, sq)
- Matrix(b, sq) = c
- End If
- End If
- a = a + 1
- b = a + 1
- Loop
- Loop While Found = 1
- Next sq
- Screen.MousePointer = 1
- State = 0
- End Sub
- Sub mnuFExit_Click ()
- End
- End Sub
- Sub mnuFLoad_Click ()
- State = 2
- DoEvents
- Filter1$ = "Knight Files" + Chr$(0) + "*.brd" + Chr$(0)
- Filter2$ = "Text Files" + Chr$(0) + "*.*" + Chr$(0)
- Filter$ = Filter1$ + Filter2$ + Chr$(0)
- Index% = 1
- Flags& = OFN_FILEMUSTEXIST Or OFN_HIDEREADONLY Or OFN_PATHMUSTEXIST
- IDir$ = CurDir$ + Chr$(0)
- Title$ = "Load Board Position" + Chr$(0)
- File$ = OpenFile$(Knight, Status%, FError&, Filter$, IDir$, Title$, Index%, Flags&)
- If FError& <> 0 Then
- Msg$ = CmdError$(x&)
- MsgBox Msg$, 32, "Open"
- ElseIf File$ <> "" Then
- CV = 0
- Open File$ For Input As 1
- Input #1, Mv, MvX, LoMv, Walks#, Prunes#, Finds#, CV, DeltaTime!
- For i = 1 To 64
- Input #1, Matrix(1, i), Matrix(2, i), Matrix(3, i), Matrix(4, i), Matrix(5, i), Matrix(6, i), Matrix(7, i), Matrix(8, i), Matrix(9, i), Matrix(10, i)
- If Matrix(1, i) <= 0 Then
- Board(i).Picture = LoadPicture("")
- Else
- Board(i).Picture = ImgKnight(Matrix(1, i)).Picture
- End If
- Next i
- Close #1
- StopBox.Value = CV
- StartTime! = 0
- Call StatsTimer_Timer
- Button.Visible = True
- Button.Caption = "Resume"
- End If
- End Sub
- Sub mnuFSave_Click ()
- State = 2
- DoEvents
- For i = 1 To 64
- If Matrix(1, i) = 1 Then FileN = i
- Next i
- Filter1$ = "Knight Files" + Chr$(0) + "*.brd" + Chr$(0)
- Filter2$ = "All Files" + Chr$(0) + "*.*" + Chr$(0) + Chr$(0)
- Filter$ = Filter1$ + Filter2$ + Chr$(0)
- IDir$ = CurDir$ + Chr$(0)
- FileMask$ = "Knight" & Format$(FileN, "00") & ".brd"
- Title$ = "Save Board Position" + Chr$(0)
- Index% = 1
- Flags& = OFN_HIDEREADONLY Or OFN_PATHMUSTEXIST
- File$ = SaveFile$(Knight, Status%, FError&, Filter$, IDir$, FileMask$, Index%, Title$, Flags&)
- If FError& <> 0 Then
- Msg$ = CmdError$(x&)
- MsgBox Msg$, 32, "Save Error"
- ElseIf File$ <> "" Then
- CV = StopBox.Value
- Open File$ For Output As 1
- Write #1, Mv, MvX, LoMv, Walks#, Prunes#, Finds#, CV, DeltaTime!
- For i = 1 To 64
- Write #1, Matrix(1, i), Matrix(2, i), Matrix(3, i), Matrix(4, i), Matrix(5, i), Matrix(6, i), Matrix(7, i), Matrix(8, i), Matrix(9, i), Matrix(10, i)
- Next i
- Close #1
- MsgBox "Board Position Saved", 64, "Knight"
- End If
- End Sub
- Sub StatsTimer_Timer ()
- If StartTime! > 0 Then
- EndTime! = Timer
- DeltaTime! = DeltaTime! + (EndTime! - StartTime!)
- StartTime! = EndTime!
- End If
- Stats$ = "Move: " & Format$(Mv, "00") & Chr$(13)
- Stats$ = Stats$ & "Low: " & Format$(LoMv, "00") & Chr$(13)
- Stats$ = Stats$ & "Seconds: " & Format$(DeltaTime!, "#####0.00") & Chr$(13) & Chr$(13)
- Stats$ = Stats$ & "Solutions: " & Format$(Finds#, "00000000") & Chr$(13)
- Stats$ = Stats$ & "Walks: " & Format$(Walks#, "00000000") & Chr$(13)
- Stats$ = Stats$ & "Prunes: " & Format$(Prunes#, "00000000")
- Label3.Caption = Stats$
- End Sub
- Sub StopBox_Click ()
- If StopBox.Enabled = True Then
- StopBox.Enabled = False
- If StopBox.Tag = 2 Then
- StopBox.Value = 0
- StopBox.Caption = "Any Solution"
- ElseIf StopBox.Tag = 0 Then
- StopBox.Value = 1
- StopBox.Caption = "Circular Only"
- ElseIf StopBox.Tag = 1 Then
- StopBox.Value = 2
- StopBox.Caption = "Continuous"
- End If
- StopBox.Tag = StopBox.Value
- StopBox.Enabled = True
- End If
- End Sub
-